// 隐藏内部实现



// function fn() { // 最小暴露原则
//     var a = 1
//     var b =2
//     return c = a+b
// }
// console.log(fn());



// 更合理的写法
// function foo(a) {
//     var b;

//     function bar(a){
//         return a-1;
//     }

//     b = a+bar(a*2)
//     console.log(b*3);
// }
// foo(2)

// 规避冲突
function foo() {
    function bar(a){
       var i = 3
        console.log(a+i);
    }
for (var i = 0;i<10;i++){
bar(i*2)  // 无线循环了
}
}
foo(2)